home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -screenplay- / shareware / warpquake / warpquakesrc / smakefile < prev    next >
Makefile  |  2000-02-29  |  4KB  |  111 lines

  1. #
  2. # Quake Makefile for Amiga SAS/C
  3. #
  4.  
  5. COMMONFLAGS = parm=reg cpu=68060 math=68881 verbose \
  6.         code=far stringmerge data=far absfuncpointer define=AMIGA
  7.  
  8. SCFLAGS = optimize opttime optsched nodebug nostackcheck $(COMMONFLAGS)
  9.  
  10. #SCFLAGS = nooptimize debug=full stackcheck $(COMMONFLAGS)
  11.  
  12. #SCFLAGS = profile optimize opttime debug=full nostackcheck $(COMMONFLAGS)
  13.  
  14. COMMONPPCFLAGS = parm=reg verbose stringmerge code=far data=far define=AMIGA
  15.  
  16. SCPPCFLAGS = optimize opttime optsched nodebug nostackcheck $(COMMONPPCFLAGS)
  17.  
  18. #SCPPCFLAGS = nooptimize debug=full $(COMMONPPCFLAGS)
  19.  
  20. #SCPPCFLAGS = optimize opttime optsched debug=full nostackcheck $(COMMONPPCFLAGS)
  21.  
  22. OBJS1 = cd_amiga.o chase.o cl_demo.o cl_input.o cl_main.o cl_parse.o cl_tent.o cmd.o \
  23.  common.o console.o crc.o cvar.o d_edge.o d_fill.o d_init.o d_modech.o \
  24.  d_part.o d_polyse.o d_scan.o d_sky.o d_sprite.o d_surf.o d_vars.o d_zpoint.o \
  25.  
  26. OBJS2 = draw.o host.o host_cmd.o in_amiga.o keys.o mathlib.o menu.o model.o \
  27.  net_dgrm.o net_loop.o net_main.o net_bsd.o net_amigaudp.o net_vcr.o nonintel.o pr_cmds.o \
  28.  pr_edict.o pr_exec.o r_aclip.o r_alias.o r_bsp.o r_draw.o r_edge.o r_efrag.o \
  29.  
  30. OBJS3 = r_light.o r_main.o r_misc1.o r_misc2.o r_part.o r_sky.o r_sprite.o \
  31.  r_surf.o r_vars.o sbar.o screen.o snd_dma.o snd_mem.o snd_mix.o snd_amiga.o \
  32.  sv_main.o sv_move.o sv_phys.o sv_user.o sys_amiga.o vid_amiga.o view.o wad.o \
  33.  world.o zone.o
  34.  
  35. OBJS = $(OBJS1) $(OBJS2) $(OBJS3)
  36.  
  37. # *.oPPC files are compiled with scppc
  38. # *.oPPC2 files are compiled with ppc-amigaos-gcc
  39.  
  40. #OBJSPPC1 = lib:sprofutil.o cd_amiga.oPPC chase.oPPC cl_demo.oPPC cl_input.oPPC cl_main.oPPC cl_parse.oPPC cl_tent.oPPC cmd.oPPC \
  41. OBJSPPC1 = cd_amiga.oPPC2 chase.oPPC2 cl_demo.oPPC2 cl_input.oPPC2 cl_main.oPPC2 cl_parse.oPPC2 cl_tent.oPPC2 cmd.oPPC2 \
  42.  common.oPPC2 console.oPPC2 crc.oPPC2 cvar.oPPC2 d_edge.oPPC2 d_fill.oPPC2 d_init.oPPC2 d_modech.oPPC2 \
  43.  d_part.oPPC2 d_polyse.oPPC2 d_scan.oPPC2 d_sky.oPPC2 d_sprite.oPPC2 d_surf.oPPC2 d_vars.oPPC2 d_zpoint.oPPC2 \
  44.  
  45. OBJSPPC2 = draw.oPPC2 host.oPPC2 host_cmd.oPPC2 in_amiga.oPPC2 keys.oPPC2 mathlib.oPPC2 menu.oPPC2 model.oPPC2 \
  46.  net_dgrm.oPPC2 net_loop.oPPC2 net_main.oPPC2 net_bsd.oPPC2 net_amigaudp.oPPC net_vcr.oPPC2 nonintel.oPPC2 pr_cmds.oPPC2 \
  47.  pr_edict.oPPC2 pr_exec.oPPC r_aclip.oPPC2 r_alias.oPPC2 r_bsp.oPPC2 r_draw.oPPC2 r_edge.oPPC2 r_efrag.oPPC2 \
  48.  
  49. OBJSPPC3 = r_light.oPPC2 r_main.oPPC2 r_misc1.oPPC2 r_misc2.oPPC2 r_part.oPPC2 r_sky.oPPC2 r_sprite.oPPC2 \
  50.  r_surf.oPPC2 r_vars.oPPC2 sbar.oPPC2 screen.oPPC2 snd_dma.oPPC2 snd_mem.oPPC2 snd_mix.oPPC2 snd_amiga.oPPC2 \
  51.  sv_main.oPPC2 sv_move.oPPC2 sv_phys.oPPC2 sv_user.oPPC2 sys_amiga.oPPC2 vid_amiga.oPPC2 view.oPPC2 wad.oPPC2 \
  52.  world.oPPC2 zone.oPPC2 amiga_ppc_c2p.oPPC amiga_cgxtagfns.oPPC amiga_socket_lib.oPPC
  53.  
  54. OBJSPPC = $(OBJSPPC1) $(OBJSPPC2) $(OBJSPPC3)
  55.  
  56. all: awinquake awinquakeppc
  57.  
  58. awinquake: $(OBJS1) $(OBJS2) $(OBJS3)
  59.     slink < with <
  60.     from lib:c.o $(OBJS1) $(OBJS2) $(OBJS3) to awinquake \
  61.     lib lib:scm881.lib lib:sc.lib lib:amiga.lib \
  62.     noicons verbose
  63. <
  64. #    addsym
  65.  
  66. awinquakeppc: temp1.o temp2.o temp3.o amiga_timer.o
  67.     ppc-amigaos-gcc -o awinquakeppc temp1.o temp2.o temp3.o amiga_timer.o -lmoto
  68.     protect awinquakeppc +e
  69.  
  70. .c.o:
  71.     sc ${SCFLAGS} $<
  72.  
  73. .c.oPPC:
  74.     scppc ${SCPPCFLAGS} objectname $*.oPPC $<
  75.  
  76. .c.oPPC2:
  77.     ppc-amigaos-gcc -Wall -c -O3 -mcpu=603e -fforce-mem -fforce-addr -ffast-math -o $*.oPPC2 -DAMIGA -D__PPC__ $<
  78.  
  79. .s.oPPC:
  80.     pasm -o $*.oPPC $<
  81.  
  82. temp1.o: $(OBJSPPC1)
  83.     ppc-amigaos-ld $(LDFLAGS) -r -o temp1.o $(OBJSPPC1)
  84.  
  85. temp2.o: $(OBJSPPC2)
  86.     ppc-amigaos-ld $(LDFLAGS) -r -o temp2.o $(OBJSPPC2)
  87.  
  88. temp3.o: $(OBJSPPC3)
  89.     ppc-amigaos-ld $(LDFLAGS) -r -o temp3.o $(OBJSPPC3)
  90.  
  91. amiga_timer.o: amiga_timer.s
  92.     pasm -o $*.o $<
  93.  
  94. # r_misc2.c doesn't work on 680x0 when optimised
  95. r_misc2.o: r_misc2.c
  96.     sc nooptimize nodebug $(COMMONFLAGS) r_misc2.c
  97.  
  98. net_amigaudp.o: net_amigaudp.c
  99.     sc $(SCFLAGS) $< INCLUDEDIRECTORY=amitcp:SDK/netinclude
  100.  
  101. net_amigaudp.oPPC: net_amigaudp.c
  102.     scppc $(SCPPCFLAGS) objectname $*.oPPC $< INCLUDEDIRECTORY=include:netinclude
  103.  
  104. amiga_socket_lib.oPPC: amiga_socket_lib.s
  105.     pasm $<
  106.     rename $*.o $*.oPPC
  107.  
  108. clean:
  109.     delete *.o
  110.     delete *.oPPC
  111.